package jsyf.oa.facade.apply;

import com.alibaba.dubbo.rpc.protocol.rest.support.ContentType;
import com.alibaba.fastjson.JSONObject;

import java.util.List;

import javax.ws.rs.Consumes;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;
import javax.ws.rs.core.MediaType;

/**
 * @Description: 方法描述, 必填  <br/>
 * @author: 徐波
 * @createTime: 2017/12/2 0002 19:54
 * @Version: V1.0.0
 */
@Path("/applyService")
@Consumes({MediaType.APPLICATION_JSON, MediaType.TEXT_XML})
@Produces({ContentType.APPLICATION_JSON_UTF_8, ContentType.TEXT_XML_UTF_8})
public interface MoneyFacade {

    @Path("/saveRefund")
    JSONObject saveRefund(String jsonData);

    @Path("/save")
    JSONObject save(String jsonData);

    @Path("/getUnDoCount")
    String getUnDoCount(String userId);

    @Path("/getByPage")
    JSONObject getByPage(String jsonData);

    @Path("/getById")
    JSONObject getById(String id);

    @Path("/applyAudit")
    JSONObject applyAudit(String id, String userId, String auditFlag, String advise);

    @Path("/payAudit")
    JSONObject payAudit(String ids, String userId, String auditFlag, String advise);

    @Path("/submitPayAudit")
    Boolean submitPayAudit(String jsonString);

    @Path("/payMoney")
    JSONObject payMoney(String id, String payUserId, String payRemark, String payUserName);


    @Path("/getPayerListByMoneyId")
    List<JSONObject> getPayerListByMoneyId(String moneyId);

    @Path("removeById")
    Boolean removeById(String id);

    @Path("/copierReturn")
    Boolean copierReturn(String id, String copierPersonId, String auditFlag, String copierReturnReason);

    @Path("/payReturn")
    Boolean payReturn(String id, String payReturnUserId, String payReturnUserName, String payReturnReasonType, String payReturnReasonDesc);

    @Path("/getByIdForRefund")
    JSONObject getByIdForRefund(String jsonData);

    @Path("/refundAudit")
    JSONObject refundAudit(String jsonData);

    @Path("/getPayeeList")
    List<JSONObject> getPayeeList(String userId, String payeeName);
}
